#include "pcb.h"

/* Handles the disk simulation */

#define IO_OP_TIME_MS 10

/* initializes io queue */
void initIOQueue();

/* Returns the done time of the process 
 * Returns 0 is io queue empty 
 * */
unsigned nextIODoneTime();

/* Returns the process that completed IO */
PCB* getIOCompletedProc();
int noCompletedProcs();

/* Add process to IO queue */
void doIO(PCB* proc);

/* Apply clock to io queue 
 */
void incrementIOQueue();

/* gets number of queued+running items */
int getIOLength();

